<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <!-- // 1.页面的模板语法渲染 -->
    <div id="app1">
        {{msg}}
    </div>
    <!-- // 2.页面的动态(响应式)渲染 -->
    <div id="app2" v-bind:title="msg">
        到这,看看加载时间
    </div>
    <!-- // 3.条件渲染 -->
    <div id="app3">
        <p v-if="seen">你现在看到我了</p>
    </div>
    <!-- //4.循环渲染 -->
    <div id="app4">
        <ol>
            <li v-for="todo in todos">
                {{ todo.text }}
            </li>
        </ol>
    </div>
    <!-- //5.交互渲染 -->
    <div id="app5">
        <p>{{message}}</p>
        <button v-on:click="reverseMessage">反转消息</button>
    </div>
    <!-- //6.表单渲染,双向绑定 -->
    <div id="app6">
        <p>{{message}}</p>
        <input v-model="message">
    </div>
    <!-- 7.前置知识需要看02.组件.html ,app7中的数据传递到子组件todo-item -->
    <div id="app7">
        <ol>
            <todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item>
        </ol>
    </div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    // 1.页面的模板语法渲染
    var app1 = new Vue({
        el: "#app1",
        data: {
            msg:"你好"
        }
    })
    // 2.页面的动态(响应式)渲染
    var app2 = new Vue({
        el: "#app2",
        data:{
            msg: "页面加载的时间为"+ new Date().toLocaleString()
        }
    })
    // 3.条件渲染
    var app3 = new Vue({
        el: "#app3",
        data:{
            seen: true
        }
    })
    app3.seen = false
    //4.循环渲染
    var app4 = new Vue({
        el: "#app4",
        data:{
            todos:[
                {text:'学习JavaScript'},
                {text:'学习vue'},
                {text:'整个项目'}
            ]
        }
    })
    app4.todos.push({text:'新项目'})
    //5.交互渲染
    var app5 = new Vue({
        el: '#app5',
        data: {
            message: 'Hello Vue.js!'
        },
        methods: {
            reverseMessage: function(){
                this.message = this.message.split('').reverse().join('')
            }
        }
    })
    //6.表单渲染,双向绑定
    var app6 = new Vue({
        el: '#app6',
        data: {
            message: 'Hello Vue!'
        }
    })
    //7.前置知识需要看02.组件.html ,app7中的数据传递到子组件component
    Vue.component('todo-item',{
        props:['todo'], 
        template: '<li>{{todo.text}}</li>'
    })
    var app7 = new Vue({
        el: '#app7',
        data:{
            groceryList:[
                {id:0,text:'蔬菜'},
                {id:1,text:'奶酪'},
                {id:2,text:'随便其它什么人吃的东西'}
            ]
        }
    })
</script>
</html>